package org.mspring.mlog.dao.impl;

import java.util.List;

import org.apache.ibatis.session.SqlSession;
import org.mspring.mlog.dao.LinkDao;
import org.mspring.mlog.entity.Link;
import org.mspring.mlog.entity.SysUser;
import org.springframework.stereotype.Repository;

@Repository
public class LinkDaoImpl extends BaseDaoImpl implements LinkDao {

	@Override
	public int getPageCount(Link link) {
		
        // 初始化连接
        SqlSession sqlSession = getSqlSession();
        // 执行sql
		List<Link> list = (List<Link>) sqlSession
				.selectList(
						"linkWidgetAct.getPageCount",
						link);
		
		// 断开连接
		sqlSession.close();
		
		if (null == list) {
			return 0;
		} else {
			return list.size();
		}
	}

	@Override
	public List<Link> getPage(Link link) {
		// 初始化连接
		SqlSession sqlSession = getSqlSession();
		// 执行sql
		List<Link> list = (List<Link>) sqlSession.selectList(
				"linkWidgetAct.getPage", link);

		// 断开连接
		sqlSession.close();

		return list;
	}

	@Override
	public Link getLinkById(Link link) {
		// 初始化连接
		SqlSession sqlSession = getSqlSession();
		// 执行sql
		List<Link> list = (List<Link>) sqlSession.selectList(
				"linkWidgetAct.getLinkById", link);

		// 断开连接
		sqlSession.close();
		
		if (null != list && list.size() > 0) {
			
			return (Link) list.get(0);
		}

		return null;
	}

	@Override
	public void updateLink(Link link) {
		// 初始化连接
		SqlSession sqlSession = getSqlSession();
		// 执行sql
		sqlSession.update(
				"linkWidgetAct.updateLink", link);

		// 断开连接
		sqlSession.close();
	}

	@Override
	public void createLink(Link link) {
		// 初始化连接
		SqlSession sqlSession = getSqlSession();
		// 执行sql
		sqlSession.insert(
				"linkWidgetAct.createLink", link);

		// 断开连接
		sqlSession.close();
		
	}

	@Override
	public void deleteLinks(Link link) {
		// 初始化连接
		SqlSession sqlSession = getSqlSession();
		// 执行sql
		sqlSession.delete(
				"linkWidgetAct.deleteLinks", link);

		// 断开连接
		sqlSession.close();
		
	}

}
